Skip to content

Herschrijving naar WXT + React + TypeScript (voor de fun)#13

Open
Acetyld wants to merge 7 commits intoAron220:masterfrom
Acetyld:cursor/wxt-react-application-f4f0
Open

Herschrijving naar WXT + React + TypeScript (voor de fun)#13
Acetyld wants to merge 7 commits intoAron220:masterfrom
Acetyld:cursor/wxt-react-application-f4f0

Conversation

@Acetyld
Copy link
Copy Markdown

@Acetyld Acetyld commented Apr 17, 2026

Hoi Aron,

Ik vond Cleanplaats zo'n leuk project dat ik er stiekem een keer mee aan de slag ben gegaan om wat dingen uit te proberen. Geen verplichtingen, geen verwachtingen — puur voor de fun. Dacht ik laat het je even zien, kijken of je het wat vindt.

Wat is er veranderd?

De extensie is herschreven met een wat moderner fundament, maar functioneel blijft alles werken zoals jij het ontworpen hebt: hetzelfde paneel, dezelfde filters, dezelfde voorkeuren, dezelfde domeinen (marktplaats.nl, 2dehands.be, 2ememain.be).

De drie grootste wijzigingen:

  1. TypeScript — alle content- en background-code is omgezet naar TypeScript, met strikte types. Maakt refactoren en uitbreiden een stuk veiliger, zeker als de markup van Marktplaats weer eens verandert.
  2. Testing — Vitest erbij, met unit tests voor de shared utilities en de content/background services. Zo kunnen regressies sneller opgepikt worden.
  3. WXT als framework — de extensie draait nu op WXT met React 19. Het grote voordeel: WXT bouwt out-of-the-box voor Chromium, Firefox én Safari, dus ondersteuning voor andere browsers wordt een stuk laagdrempeliger. Manifest V3 voor beide platforms zit er al in.

Wat blijft hetzelfde?

  • Alle bestaande functies (topadvertenties verbergen, dagtoppers, bedrijfsadvertenties, blacklist op verkoper en titel, dark mode, verkoper-ouderdomswaarschuwing, onboarding/update-notes, etc.).
  • Alle voorkeuren en opslag.
  • De look & feel van het paneel.

Hoe te draaien

npm install
npm run dev          # Chromium
npm run dev:firefox  # Firefox
npm run test         # Vitest
npm run compile      # tsc --noEmit

De build output komt in .output/ en kan als unpacked extension ingeladen worden.

Geen druk

Mocht je hier niks mee willen — totaal geen probleem, ik heb er gewoon een leuke avond mee gehad. Mocht je het wel tof vinden, dan denk ik graag mee over een eventuele migratie of opsplitsing in kleinere PR's. Laat maar weten wat je ervan vindt!

Groet,
Dion

Made with Cursor

cursoragent and others added 7 commits April 16, 2026 14:53
Co-authored-by: Dion Grendelman <Acetyld@users.noreply.github.com>
- Add shared settings storage/repository and content runtime store with React sync
- Port cleanup, observers, theme, blacklist injection, and notifications to TS modules
- Implement CleanplaatsPanel in React with modals, stats, and marketplace sort sync
- Wire main.content.ts bootstrap; theme-init applies early dark mode + storage sync
- Fix strict TS typings in background listeners for noImplicitAny compatibility

Co-authored-by: Dion Grendelman <Acetyld@users.noreply.github.com>
Co-authored-by: Dion Grendelman <Acetyld@users.noreply.github.com>
Co-authored-by: Dion Grendelman <Acetyld@users.noreply.github.com>
Co-authored-by: Dion Grendelman <Acetyld@users.noreply.github.com>
- Revamped the README to include a clearer overview of Cleanplaats and its functionalities.
- Added visual elements such as badges for versioning and technology stack.
- Expanded feature list with detailed descriptions of new capabilities including seller management and multilingual support.
- Improved project structure section for better clarity on file organization.
- Updated installation and development instructions for better usability.
- Removed event propagation prevention from the CleanplaatsPanel toggle button.
- Enhanced the theme service to manage background properties for collapsed panels.
- Updated CSS to ensure no background image is applied when the panel is not collapsed.
@Acetyld
Copy link
Copy Markdown
Author

Acetyld commented Apr 17, 2026

Test het wel effe goed :P 😉

@SSoggyTacoMan
Copy link
Copy Markdown

heb je serieus de pr omschrijving gescreven met chatgpt en alle commits ook met cursor

@Acetyld
Copy link
Copy Markdown
Author

Acetyld commented Apr 18, 2026

heb je serieus de pr omschrijving gescreven met chatgpt en alle commits ook met cursor

Haha, jazeker. Wij werken zelf alleen nog maar met Cursor. En nee, geen ChatGPT; wij werken zelf eigenlijk alleen met Long Running Agents en Opus 4.7.😉

@SSoggyTacoMan
Copy link
Copy Markdown

ben je er trots op?

@Acetyld
Copy link
Copy Markdown
Author

Acetyld commented Apr 20, 2026

ben je er trots op?

Ik snap persoonlijk niet helemaal waar deze opmerking voor nodig is. Ik heb in het verleden ook een commit gedaan om te helpen bij deze repository, en dit was gewoon een leuke test om te kijken wat mogelijk was. Ik dacht dat het wellicht ook nog handig kon zijn. (i.v.m tests, TS en een well known framework)

@Aron220
Copy link
Copy Markdown
Owner

Aron220 commented Apr 20, 2026

Hey! @Acetyld Super vet man. Ontzettend bedankt voor je enthousiasme en de moeite. Afgelopen dagen heb ik weinig tijd gehad om er naar te kijken maar deze week verwacht ik wel. Klinkt veelbelovend en precies als iets wat deze repo zou kunnen gebruiken. Wordt vervolgd!

@SSoggyTacoMan
Copy link
Copy Markdown

ben je er trots op?

Ik snap persoonlijk niet helemaal waar deze opmerking voor nodig is. Ik heb in het verleden ook een commit gedaan om te helpen bij deze repository, en dit was gewoon een leuke test om te kijken wat mogelijk was. Ik dacht dat het wellicht ook nog handig kon zijn. (i.v.m tests, TS en een well known framework)

nee maar je vibecodet iets en doet er dan heel cool over snap je zelfs de "Mocht je hier niks mee willen — totaal geen probleem, ik heb er gewoon een leuke avond mee gehad. " is met ai geschreven

@Acetyld
Copy link
Copy Markdown
Author

Acetyld commented Apr 20, 2026

ben je er trots op?

Ik snap persoonlijk niet helemaal waar deze opmerking voor nodig is. Ik heb in het verleden ook een commit gedaan om te helpen bij deze repository, en dit was gewoon een leuke test om te kijken wat mogelijk was. Ik dacht dat het wellicht ook nog handig kon zijn. (i.v.m tests, TS en een well known framework)

nee maar je vibecodet iets en doet er dan heel cool over snap je zelfs de "Mocht je hier niks mee willen — totaal geen probleem, ik heb er gewoon een leuke avond mee gehad. " is met ai geschreven

Jep, daarom no need for hate. Lets keep it friendly😉

@SSoggyTacoMan
Copy link
Copy Markdown

ben je er trots op?

Ik snap persoonlijk niet helemaal waar deze opmerking voor nodig is. Ik heb in het verleden ook een commit gedaan om te helpen bij deze repository, en dit was gewoon een leuke test om te kijken wat mogelijk was. Ik dacht dat het wellicht ook nog handig kon zijn. (i.v.m tests, TS en een well known framework)

nee maar je vibecodet iets en doet er dan heel cool over snap je zelfs de "Mocht je hier niks mee willen — totaal geen probleem, ik heb er gewoon een leuke avond mee gehad. " is met ai geschreven

Jep, daarom no need for hate. Lets keep it friendly😉

ja top maar als je iets vibecodet moet je er wel beetje anders mee omgaan

@Acetyld
Copy link
Copy Markdown
Author

Acetyld commented Apr 20, 2026

ben je er trots op?

Ik snap persoonlijk niet helemaal waar deze opmerking voor nodig is. Ik heb in het verleden ook een commit gedaan om te helpen bij deze repository, en dit was gewoon een leuke test om te kijken wat mogelijk was. Ik dacht dat het wellicht ook nog handig kon zijn. (i.v.m tests, TS en een well known framework)

nee maar je vibecodet iets en doet er dan heel cool over snap je zelfs de "Mocht je hier niks mee willen — totaal geen probleem, ik heb er gewoon een leuke avond mee gehad. " is met ai geschreven

Jep, daarom no need for hate. Lets keep it friendly😉

ja top maar als je iets vibecodet moet je er wel beetje anders mee omgaan

Nee hoor! Dit is puur je eigen interpretatie. Maar goed, zand er over 😉

@SSoggyTacoMan
Copy link
Copy Markdown

😉😉😉😉😉 , 😉😉😉. 😉😉😉, 😉😉😉😉? 😉😉;😉😉!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants